Many packet devices have a buffer (hereinafter, referred to as “a packet buffer”) for temporarily storing a packet before transmitting it. Typically, the packet buffer is embodied by a memory. The upper limit of the amount of packets accumulatable in the packet buffer is determined by capacity of a memory mounted in the packet device. Some kinds of packet devices are used by logically dividing a physical memory into a plurality of queues. Among such packet devices, some packet device sets the upper limit of the amount of packets accumulatable for each logical queue.
One of the basic methods for arrival packet discard determination by the packet device (or for determining a packet that has newly arrived at the packet device to be discarded or not) is a method wherein an upper limit (upper limit threshold value) is set to a queue length of the packet buffer (that is, a size of area occupied by packets within the packet buffer), and when the upper limit threshold value is exceeded, subsequently arrival packets are discarded. This type of method for arrival packet discard determination is referred to as a Tail Drop method.
FIG. 10 is a schematic diagram illustrating an example of a method for arrival packet discard determination by using discard priority, where an arrival packet is denoted by “P” and a queue constituting a packet buffer is depicted. This method is an application of the Tail Drop method. In this method, discard priority is set for each of packets. For example, discard priorities can be classified by assigning each thereof a color. The packet having a high discard priority is represented by “yellow” (denoted by “Y” in FIG. 10), while the packet having a low discard priority is represented by “green” (denoted by “G” in FIG. 10). The upper limit threshold value of the yellow packet is set to be lower than that of an ordinary packet buffer (upper limit threshold value in the case of the Tail Drop). When the queue length of the packet buffer P7 excesses the upper limit threshold value of the yellow packet, a newly arrived yellow packet is discarded by a discard determination section P11 before it is buffered in the packet buffer P7. On the other hand, the green packet is buffered into the packet buffer P7.
In this manner, by setting the upper limit threshold value of the yellow packet, which is prone to be discarded, at a value lower than that of the ordinary packet buffer, it is possible to make the green packet, which is expected to be transmitted on a priority basis, less prone to be discarded.
FIG. 11 is a diagram illustrating an example of a method for arrival packet discard determination which is referred to as RED (random early determination). According to the RED method, the packet is discarded on a probabilistic basis. In the RED method, two threshold values are provided for a packet buffer P7: a maximum threshold value (denoted by “Max_th”) and a minimum threshold value (denoted by “Min_th”). In FIG. 11, a probability of discarding an arrival packet is represented by a vertical axis, and a queue length of the packet buffer P7 is represented by a horizontal axis along which a value of the queue length is increasing leftward. When the queue length of the packet buffer P7 is smaller than the minimum threshold value (Min_th), an arrival packet is stored in the packet buffer P7 without being discarded. When the queue length of the packet buffer P7 is a value intermediate between the minimum threshold value and the maximum threshold value, a RED determination section P12 discards the arrival packet (P) on a probabilistic basis. The probability of discarding the arrival packet is represented, as depicted in FIG. 11, by a linear curve L1 having, as an upper limit, a value equal to the discard probability at the maximum threshold value (i.e., a maximum discard possibility “Max_p”). When the queue length of the packet buffer P7 exceeds the maximum threshold value, all packets (P) newly arrived at the packet buffer P7 are discarded (called “Tail Drop”).